#include <stdio.h>
#include <stdbool.h>
/*
int numIdenticalPairs(int* nums, int numsSize) {
    int r=0;
    for(int i=0; i< numsSize; i++){
        for(int j=i+1; j< numsSize; j++)
            if( nums[i] == nums[j] )
                r++;
    }
    return r;
}*/

int c2ofN(int n){
    return (n*(n-1))>>1;
}

int numIdenticalPairs(int* nums, int numsSize) {
    int exist[101]={ [0 ... 100] = 0 };
    int r=0;
    for( int i=0; i < numsSize; i++ ){
        exist[ nums[i] ] ++; 
    }
    for( int i=1; i <= 100; i++ ){
        if( exist[i] >1 )
            r+=c2ofN( exist[i] );
    }
    return r;
}

int main(){
    int num[]={1,2,3,1,1,3};
    printf( "%d\n",numIdenticalPairs(num,sizeof(num)/sizeof(int)) );
    return 0;
}
